<?php 
	
	// Script en php para el olvido de contraseña
    // Copyright (C) 2011  Blanca Lopez

    // Este programa es software libre: usted puede redistribuirlo y/o modificarlo 
    // bajo los términos de la Licencia Pública General GNU publicada 
    // por la Fundación para el Software Libre, ya sea la versión 3 
    // de la Licencia, o (a su elección) cualquier versión posterior.

    // Este programa se distribuye con la esperanza de que sea útil, pero 
    // SIN GARANTÍA ALGUNA; ni siquiera la garantía implícita 
    // MERCANTIL o de APTITUD PARA UN PROPÓSITO DETERMINADO. 
    // Consulte los detalles de la Licencia Pública General GNU para obtener 
    // una información más detallada. 

    // Debería haber recibido una copia de la Licencia Pública General GNU 
    // junto a este programa. 
    // En caso contrario, consulte <http://www.gnu.org/licenses/>.

	header('Content-Type: text/html; charset=ISO-8859-1');
	session_start();

	mysql_connect("nombre_servidor", "usuario", "password") or die(mysql_error());
	mysql_select_db("base_de_datos") or die(mysql_error());

	if(isset($_POST["submit"])){
		$mensaje = $_GET["mensaje"];
		if(trim($_POST["email"]) != ""){   
			$no_email=false;
			$mal_email=false;
			$no_existe=false;
			
			if(is_email($_POST["email"])){
				$email = $_POST["email"]; 
				$result = mysql_query("SELECT nif, password, nombre FROM usuarios WHERE email='$email'");
				if($row = mysql_fetch_array($result)){
					$nif=$row["nif"];
					$new_password=texto_aleatorio();
					$new_password2=md5($new_password);				
					mysql_query("UPDATE usuarios SET password='$new_password2' WHERE nif='$nif'");
					
					$header = "From: correo@correo.com \r\n";
					$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
					$header .= "Mime-Version: 1.0 \r\n";
					$header .= "Content-Type: text/plain; charset=ISO-8859-1";

					$mensajem = "Recordatorio de usuario y password. \r\n\n"
								."Usuario: ".$nif."\n"
								."Nuevo password: ".$new_password."\n\n"
								."Le recomendamos que cambie cuanto antes su password desde el panel de control de usuario.\n\n"
								."Muchas gracias.";

					$asunto = "Recordatorio de usuario y password.";

					if(@mail($email, $asunto, utf8_decode($mensajem), $header)){
						header('Location: solicitar.php?mensaje=ok');
						exit();
					}
					else {
						$mensaje = 'probserv';
						exit();
					}
				}
				else{
					$no_existe=true;
				}
			}
			else{
				$mal_email=true;
			}
		}
		else{
			$no_email=true;
		}
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Forgot Your Password?</title>
		<script language="javascript" type="text/javascript">
		function fTimer() {
		  document.getElementById('solicitar').enviar.disabled = false;
		}
		</script>
	</head>

	<body>
		<h1>¿Olvidaste tu contrase&ntilde;a?</h1> 
		<p>Si has olvidado tu nombre de usuario o contrase&ntilde;a, puedes solicitar que se te env&iacute;e al correo electr&oacute;nico que aparece en tus datos personales. En breve recibir&aacute; un recordatorio del nombre de usuario y una nueva contrase&ntilde;a.</p><br />
		<form name="solicitar" action="ForgotPass.php" method="POST">
			<table>
				<tr><td>Correo electronico: <input type="text" name="email" size="30" value="<?php echo htmlentities($_POST["email"], ENT_QUOTES); ?>"></td>
				<?php if($no_email){echo "<td><font color=\"red\">*Introduza un correo electr&oacute;nico</font></td>";};?>
				<?php if($mal_email){echo "<td><font color=\"red\">*Introduza un correo electr&oacute;nico v&aacute;lido</font></td>";};?>
				<?php if($no_existe){echo "<td><font color=\"red\">*El correo electr&oacute;nico introducido no existe</font></td>";};?></tr>
				<tr><td><input type="submit" name="enviar" value="Solicitar" onclick="javascript:this.disabled=true;timerID = setTimeout('fTimer()',5000);submit();"></td></tr>
			</table>
		</form>
	</body>
</html>

<?php
	if ($mensaje == 'ok') {
	  ?><script language="javascript"  type="text/javascript">alert('En breve recibirá un correo electrónico con el nombre de usuario y contraseña.');</script><?php
	}
	if ($mensaje == 'probserv') {
	?><script language="javascript" type="text/javascript">document.getElementById('solicitar').scrollIntoView(true);alert('ERROR: Su mensaje no se ha podido enviar por un problema en el servidor.');</script><?php
	}	
?>
